home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
ms_dos
/
tool
/
mmlc
/
sample.m2
< prev
next >
Wrap
Text File
|
1995-02-09
|
10KB
|
298 lines
/*
M's Thema / MML compiler [M] V2.00 sample program
---------------------- copyright 1994,1995 S.Yamamoto
動作チェックの為にプログラムし直したものです。
*/
#define GS // GM音源の場合はこの行を消す
.title MMLcompiler [M2] test program 1
.copyright (c)1994 YamaShiN
.division 96 // 4分音符あたりの分解能
.tempo 138 // テンポ
.signature 4/4 // 拍子
.malloc 3000
.part 01 03
.part 02 06
.part 03 08
.part 04 04
.part 05 09
.part 06 07
.part 07 01
.part 08 05
.part 09 02
.part 10 10
.part 11 11
.part 12 12
.part 13 13
.part 14 14
.part 15 15
.part 16 16
.rhmPart 10 // リズム専用MMLを使用するパート
.rhmNote B 36 127 // bass drum
.rhmNote S 38 127 // acoustic snea
.rhmNote H 42 100 // closed hi-hat
.rhmNote O 46 100 // open hi-hat
.rhmNote C 49 127 // crash cymbal
.rhmNote F 41 127 // low-floor tom
.rhmNote L 45 127 // low tom
.rhmNote M 48 127 // high mid-tom
.rhmNote T 50 127 // high tom
.begin // 必ず必要 以下にMMLブロック行
// .begin 以後にコントロール命令を書くと、それはブロック名
// と解釈されてしまうので注意!!*************
#ifdef GS
# message GS mode de compile
# define RESET @x[4110421240007f0041] /* GSreset */
#else
# message GM SYSTEM de compile
# define RESET @x[7E7F0901] /* GM system ON */
#endif
SetUp()
{
16[0]=$RESET r2;
16[1]=@w"MML compiler [M2] sample program 1";
#ifdef GS
16[2]=r2 _SCVLTR("MMLcompiler[M]");
#endif
}
ProgramSet()
{
1[0]=@01 r4 %C %V127 @C91/40 @C93/83 Q6 V14; /* Melody */
2[0]=@49 r4 %L4 %V90 @C91/30 @C93/35 Q8 V15; /* String */
3[0]=@61 r4 %L32 %V90 @C91/30 @C93/35 Q7 V12; /* Horn */
4[0]=@01 r4 %R16 %V90 @C91/40 @C93/67 Q6 V12; /* Piano 1 */
5[0]=@03 r4 %L32 %V90 @C91/40 @C93/67 Q6 V12; /* Piano 3 */
6[0]=@30 r4 %R32 %V100 @C91/40 @C93/55 Q8 V13; /* Ovd Guiter */
7[0]=@34 r4 %C %V127 @C91/64 @C93/0 Q6 V12; /* Bass */
8[0]=@06 r4 %R4 %V90 @C91/40 @C93/60 Q8 V12; /* E.Piano */
9[0]=@31 r4 %L16 %V80 @C91/90 @C93/99 Q1 V12; /* Dst Guiter */
10[0]=@01 r4 %C %V100 @C91/40 @C93/0 ; /* [RHYTHM] */
11[0]=@81 r4 %L32 %V80 @C91/40 @C93/55 Q8 V13; /* Square Wave */
16[0]=r2; /* (wait) */
}
#ifdef GS
Canvas Graphic()
{
15[0]=
_SCVDOT(?(0b11111111),?(0b11111111),
?(0b10101001),?(0b01010001),
?(0b10101011),?(0b01010101),
?(0b10001001),?(0b01010101),
?(0b10101011),?(0b01010101),
?(0b10101001),?(0b00000001),
?(0b11111111),?(0b11111111),
?(0b11111111),?(0b11111111),
?(0b11111111),?(0b11111111),
?(0b11001111),?(0b11110011),
?(0b11000011),?(0b11000011),
?(0b11001001),?(0b10010011),
?(0b11001100),?(0b00110011),
?(0b11001110),?(0b01110011),
?(0b11001111),?(0b11110011),
?(0b11111111),?(0b11111111));
}
#endif
Intro1() // (ConG G Am F -- ConG F Gsus4 G)
{
2[0]=L1 $((ggaf gfgg|>c<b>c<a> c<a>c<b|>edec ecdd<))2;
3[0]=L8 $(g4.fe4fe d1 e4.dc4dc<a1> e4.dc4ge f1 g4.fe4dc d1)2;
4[0]=L4O4 r1^1^1^1^1^1^1^1^1^1^1^1 (>c1<a1>cccc<bbbb|>e1c1dddddddd<);
5[0]=O8L16 r1^1^1^1^1^1^1^1^1^1^1 %h1 c<afc<afc<afc<afc<afc %h0
L4O4 g1f1gggggggg;
6[0]=O5L4 r1^1^1^1^1^1^1^1
(e2|r4._SLIDE(2,0,-8192,64,8)) u<g>e
(d2|r4._SLIDE(2,0,-8192,64,8)) u<g>d
(c2|r4._SLIDE(2,0,-8192,64,8)) u<e>c c1
(e2|r4._SLIDE(2,0,-8192,64,8)) u<g>e
(f2|r4._SLIDE(2,0,-8192,64,8)) u<a>f >c1<
(b1|_WAVE(2048,0,30,64,64)) u;
7[0]=O2 r1^1^1^1^1^1^1^1^1^1^1^1^1^1 <$(g8)16>;
10[0]=r1^1^1^1^1^1^1^1^1^1^1^1^1^1^1
bc8t16t16t8m8r16t16r16m16m8f8;
16[0]=@w"Intro playing now.";
}
#for 2
Section A() //(C Em F Fm -- Em AmonE Dm G)
{
1[0]=O5L8 cdeeeeed eeefe4de fffff4ff a-gfef4r4
feeeeeed eddec4<b>c dedc<a2> dedcg2;
4[0]=L4O4 (cccc eeee ffff ffff eeee eeee ffff gggg
| eeee gggg aaaa $(a-)4 gggg aaaa aaaa bbbb
| gggg bbbb>cccc cccc< bbbb>cccc cccc dddd<);
8[0]=L1O4 (ceff eefg | egaa- gaab | gb>cc< b>ccd<);
7[0]=L8O2 cccccccc< bbbbbbbb aaaaaaaa a-a-a-a-a-a-a-a-
gggggggg aaaaaaaa ffffffff gggggggg>;
9[0]=L8O3Q1 c,,8ccc,,8cccc,,8 e,,8eee,,8eeee,,8
f,,8fff,,8ffff,,8 f,,8fff,,8ffff,,8
e,,8eee,,8eeee,,8 e,,8eee,,8eeee,,8
f,,8fff,,8ffff,,8 g,,8ggg,,8gggg,,8;
9[1]=L8O3Q1 g,,8ggg,,8gggg,,8 b,,8bbb,,8bbbb,,8
>c,,8ccc,,8cccc,,8 c,,8ccc,,8cccc,,8<
b,,8bbb,,8bbbb,,8 >c,,8ccc,,8cccc,,8
c,,8ccc,,8cccc,,8 d,,8ddd,,8dddd,,8<;
10[0]=bc8h8sh8bh8 h8h8sh8h8 bh8h8sh8bh8 h8h8sh8h8
bh8h8sh8bh8 h8h8sh8h8 bh8h8sh8bh8 h8h8sh8o8
bh8h8sh8bh8 h8h8sh8h8 bh8h8sh8bh8 h8h8sh8h8
bh8h8sh8bh8 h8h8sh8h8 bh8h8sh8bh8 bh8sh8sh8bo8;
16[0]=@w"[A] playing now.";
}
#next
Section B() //(F ConE Dm C -- F AmonE Dm G)
{
1[0]=L8 f4ef4edc e4de4dc<b> d4cd4c<b>a e4ce4c<bg>
f4ef4edc e4de4dc<b> d4cd4c<b>a g1;
4[0]=(ffff eeee dddd cccc ffff eeee dddd gggg
|aaaa gggg ffff eeee aaaa aaaa ffff bbbb
|cccc cccc< aaaa gggg >cccc cccc <aaaa> dddd<);
8[0]=(fedc fedg | agfe aafb |>cc<ag >cc<a>d<);
9[0]= f,,8ffffff,,8f,,8 e,,8eeeeee,,8e,,8
d,,8dddddd,,8d,,8 c,,8cccccc,,8c,,8
f,,8ffffff,,8f,,8 e,,8eeeeee,,8e,,8
d,,8dddddd,,8d,,8 g,,8gggggg,,8g,,8;
9[1]=>c,,8cccccc,,8c,,8 c,,8cccccc,,8c,,8<
a,,8aaaaaa,,8a,,8 g,,8gggggg,,8g,,8
>c,,8cccccc,,8c,,8 c,,8cccccc,,8c,,8<
a,,8aaaaaa,,8a,,8 >d,,8dddddd,,8d,,8<;
7[0]=ffffffff eeeeeeee dddddddd cccccccc
ffffffff eeeeeeee dddddddd gggggggg;
10[0]=bc8h8sh8bh8 h8bh8sh8bh8 bh8h8sh8bh8 h8bh8sh8bh8
bh8h8sh8bh8 h8bh8sh8bh8 bh8h8sh8bh8 h8sh8sh8bo8
bh8h8sh8bh8 h8bh8sh8bh8 bh8h8sh8bh8 h8bh8sh8bh8
bh8bh8sc8h8 bh8bh8sc8h8 r8s8s16s8s16s16s16t16t16m16m16f16f16;
16[0]=@w"[B] playing now.";
}
Section C() //(C G Am F -- C F Gsus4 G) *2
{
1[0]=ccdg4g4. gfge4e4. edeb4^4a a1
ggg>c4<g4. fffg4f4. c1<b1>
ccdg4g4. gfge4e4. edeb4^4a a1
ggg>c4<g4. fffg4f4. g1g1;
4[0]=( gggg gggg aaaa ffff gggg ffff gggg gggg
|>cccc< bbbb >cccc< aaaa >cccc< aaaa >cccc< bbbb
|>eeee dddd eeee cccc eeee cccc dddd dddd<)
( gggg gggg aaaa ffff gggg ffff gggg gggg
|>cccc< bbbb >cccc< aaaa >cccc< aaaa >cccc< bbbb
|>eeee dddd eeee cccc eeee cccc dddd dddd<);
8[0]=$((ggaf gfgg | >c<b>c<a >c<a>c<b | >edec ecdd<))2;
9[0]=L1 $( g,,8 g,,8 a,,8 f,,8 g,,8 f,,8 g,,8 g,,8 )2;
9[1]=L1 $(>e,,8 d,,8 e,,8 c,,8 e,,8 c,,8 d,,8 d,,8<)2;
7[0]=cccccccc <gggggggg aaaaaaaa ffffffff>
cccccccc <ffffffff gggggggg gggggggg>
cccccccc <gggggggg aaaaaaaa ffffffff>
cccccccc <ffffffff gggggggg gggggggg>;
10[0]=bc8h8sh8bh8 h8h8sh8h8 bh8h8sh8bh8 h8h8sh8h8
bh8h8sh8bh8 h8h8sh8h8 bh8h8sh8bh8 h8h8sh8o8
bh8h8sh8bh8 h8h8sh8h8 bh8h8sh8bh8 h8h8sh8h8
bh8h8sh8bh8 h8h8sh8h8 bh8h8sh8bh8 bh8sh8sh8bo8
bc8h8sh8bh8 h8bh8sh8bh8 bh8h8sh8bh8 h8bh8sh8bh8
bh8h8sh8bh8 h8bh8sh8bh8 bh8h8sh8bh8 h8sh8sh8bo8
bh8h8sh8bh8 h8bh8sh8bh8 bh8h8sh8bh8 h8bh8sh8bh8
bh8h8sh8bh8 h8bh8sh8bh8 bh8h8sh8bh8 bh8sh8sh8bo8;
16[0]=@w"[C] playing now.";
}
Section D()
{
1[0]=>c1^1<;
4[0]=(c1^1|g1^1|g1^1);
8[0]=(c1^1|e1^1|g1^1);
9[0]=(c1^1,,8|g1^1,,8);
6[0]=r1 o2l32r2 ceg>ceg>ceg>ceg>ceg>c;
7[0]=c1^1;
10[0]=bc4r8t8b8m8r16f16r8 s8t8t16m8m16f16f16f16s16s8r8;
}
#for 3
Section E()
{
4[0]=( gggg gggg aaaa ffff gggg ffff gggg gggg
|>cccc< bbbb >cccc< aaaa >cccc< aaaa >cccc< bbbb
|>eeee dddd eeee cccc eeee cccc dddd dddd<);
8[0]=(ggaf gfgg | >c<b>c<a >c<a>c<b | >edec ecdd<);
6[0]=O5L4 (e2|r4._SLIDE(2,0,-8192,64,8)) u<g>e
(d2|r4._SLIDE(2,0,-8192,64,8)) u<g>d
(c2|r4._SLIDE(2,0,-8192,64,8)) u<e>c c1
(e2|r4._SLIDE(2,0,-8192,64,8)) u<g>e
(f2|r4._SLIDE(2,0,-8192,64,8)) u<a>f >c1<
b1;
7[0]=cccccccc< gggggggg aaaaaaaa ffffffff>
cccccccc <ffffffff gggggggg gggggggg>;
10[0]=$( bh8h8sh8bh8 h8h8sh8h8 )8;
11[0]=O5L4 (g2|r4._SLIDE(2,0,-8192,64,8)) ucg
(g2|r4._SLIDE(2,0,-8192,64,8)) u<b>g
(e2|r4._SLIDE(2,0,-8192,64,8)) u<a>e
(f1|_WAVE(2048,0,30,64,64)) u
(g2|r4._SLIDE(2,0,-8192,64,8)) ucg
(a2|r4._SLIDE(2,0,-8192,64,8)) uca >d1<
b1;
16[0]=@w"Kansou playing now.";
}
#next
Section A2() //(C Em F Fm -- Em AmonE Dm G)
{
1[0]=O5L8 cdeeeeed eeefe4de fffff4ff a-gfef4r4
feeeeeed eddec4<b>c dedc<a2> dedcg2;
2[0]=o5l1 %v120 (g1^1 f1^1 e1^1 d1^1|<g1^1 f1^1 e1^1 d1^1>);
4[0]=L4O4 (cccc eeee ffff ffff eeee eeee ffff gggg
| eeee gggg aaaa $(a-)4 gggg aaaa aaaa bbbb
| gggg bbbb>cccc cccc< bbbb>cccc cccc dddd<);
8[0]=L1O4 (ceff eefg | egaa- gaab | gb>cc< b>ccd<);
9[0]=L8O3Q1 c,,8ccc,,8cccc,,8 e,,8eee,,8eeee,,8
f,,8fff,,8ffff,,8 f,,8fff,,8ffff,,8
e,,8eee,,8eeee,,8 e,,8eee,,8eeee,,8
f,,8fff,,8ffff,,8 g,,8ggg,,8gggg,,8;
9[1]=L8O3Q1 g,,8ggg,,8gggg,,8 b,,8bbb,,8bbbb,,8
>c,,8ccc,,8cccc,,8 c,,8ccc,,8cccc,,8<
b,,8bbb,,8bbbb,,8 >c,,8ccc,,8cccc,,8
c,,8ccc,,8cccc,,8 d,,8ddd,,8dddd,,8<;
}
Section B2() //(F ConE Dm C -- F AmonE Dm G)
{
1[0]=L8 f4ef4edc e4de4dc<b> d4cd4c<b>a e4ce4c<bg>
f4ef4edc e4de4dc<b> d4cd4c<b>a g1;
2[0]=(c1^1 <a1> c1^1^1 d1^1 | <c1^1 <a1> c1^1^1 d1^1>);
4[0]=(ffff eeee dddd cccc ffff eeee dddd gggg
|aaaa gggg ffff eeee aaaa aaaa ffff bbbb
|cccc cccc< aaaa gggg >cccc cccc <aaaa> dddd<);
8[0]=(fedc fedg | agfe aafb |>cc<ag >cc<a>d<);
9[0]= f,,8ffffff,,8f,,8 e,,8eeeeee,,8e,,8
d,,8dddddd,,8d,,8 c,,8cccccc,,8c,,8
f,,8ffffff,,8f,,8 e,,8eeeeee,,8e,,8
d,,8dddddd,,8d,,8 g,,8gggggg,,8g,,8;
9[1]=>c,,8cccccc,,8c,,8 c,,8cccccc,,8c,,8<
a,,8aaaaaa,,8a,,8 g,,8gggggg,,8g,,8
>c,,8cccccc,,8c,,8 c,,8cccccc,,8c,,8<
a,,8aaaaaa,,8a,,8 >d,,8dddddd,,8d,,8<;
}
Section F()
{
1[0]=>c1^1<;
2[0]=(e1^1|<e1^1>);
5[0]=O4 r8c8e8g8>c1;
4[0]=(c1^1|g1^1|g1^1);
8[0]=(c1^1|e1^1|g1^1);
9[0]=(c1^1,,8|g1^1,,8);
16[0]=$(T-3r8)16;
}